/**
 * 文件名：parent.js
 * 作者：系统自动生成
 * 创建日期：2025-04-27
 * 描述：家长管理API服务，封装与后端交互的接口方法
 * 更新日期：2025-04-27
 * 更新内容：添加家长权限验证接口
 */

import request from '@/utils/request'

/**
 * 获取家长列表
 * @param {Object} params 查询参数
 * @param {number} params.page 当前页码
 * @param {number} params.size 每页条数
 * @returns {Promise} 包含家长列表的Promise对象
 */
export function getParents(params) {
  return request({
    url: '/api/parents',
    method: 'get',
    params
  })
}

/**
 * 获取所有学生列表
 * @returns {Promise} 包含所有学生列表的Promise对象
 */
export function getStudents() {
  return request({
    url: '/api/students/all',
    method: 'get'
  })
}

/**
 * 更新家长与学生关联关系
 * @param {Object} data 关联数据
 * @param {number} data.parentId 家长ID
 * @param {Array} data.studentIds 学生ID数组
 * @returns {Promise} 包含操作结果的Promise对象
 */
export function updateStudentRelation(data) {
  return request({
    url: '/api/parents/update-relation',
    method: 'post',
    data
  })
}

/**
 * 删除家长信息
 * @param {number} id 家长ID
 * @returns {Promise} 包含操作结果的Promise对象
 */
export function deleteParent(id) {
  return request({
    url: `/api/parents/${id}`,
    method: 'delete'
  })
}

/**
 * 验证家长权限
 * @param {number} parentId 家长ID
 * @param {number} studentId 学生ID
 * @returns {Promise} 包含权限验证结果的Promise对象
 */
export function verifyParentPermission(parentId, studentId) {
  return request({
    url: '/api/parents/verify-permission',
    method: 'get',
    params: { parentId, studentId }
  })
}

/**
 * 获取家长可访问的学生列表
 * @param {number} parentId 家长ID
 * @returns {Promise} 包含学生列表的Promise对象
 */
export function getAccessibleStudents(parentId) {
  return request({
    url: '/api/parents/accessible-students',
    method: 'get',
    params: { parentId }
  })
}